package cn.rokhdelar.ams.business.biz.project.domain.po;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;
import java.io.Serializable;
/**
 * @author 范书铭
 * @date 2025年07月14日 14:21
 */
@Data
@TableName("biz_project_info")
@Schema(description = "项目基本信息实体类")
public class BizProjectInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    @Schema(description = "项目ID", example = "1")
    private Long id;

    @TableField("project_code")
    @Schema(description = "项目编号", example = "PRJ2025071301")
    private String projectCode;

    @TableField("project_name")
    @Schema(description = "项目名称", example = "城市道路改造项目")
    private String projectName;

    @TableField("project_category")
    @Schema(description = "项目分类", example = "基础设施")
    private String projectCategory;

    @TableField("construction_nature")
    @Schema(description = "项目建设性质", example = "新建")
    private String constructionNature;

    @TableField("funding_source")
    @Schema(description = "资金来源", example = "财政拨款")
    private String fundingSource;

    @TableField("land_acquisition_method")
    @Schema(description = "土地获取方式", example = "划拨")
    private String landAcquisitionMethod;

    @TableField("funding_nature")
    @Schema(description = "资金属性", example = "国有资金")
    private String fundingNature;

    @TableField("construction_area_length")
    @Schema(description = "建设面积/长度", example = "5000平方米")
    private String constructionAreaLength;

    @TableField("project_leader")
    @Schema(description = "项目负责人", example = "张三")
    private String projectLeader;

    @TableField("gender")
    @Schema(description = "性别（1男，2女）", example = "1")
    private String gender;

    @TableField("contact_phone")
    @Schema(description = "联系电话", example = "13800138000")
    private String contactPhone;

    @TableField("id_number")
    @Schema(description = "证件号码", example = "110101199001011234")
    private String idNumber;

    @TableField("address")
    @Schema(description = "通讯地址", example = "北京市朝阳区XX街道")
    private String address;

    @TableField("construction_place")
    @Schema(description = "项目建设地点", example = "北京市海淀区XX路")
    private String constructionPlace;

    @TableField("now_status")
    @Schema(description = "当前状态:0暂存;1基本信息审核中;2简易审核流程中;3标准审核流程中;4建设中;10业主放弃;11交委不予批准终止", example = "0")
    private Integer nowStatus;

    @TableField("create_time")
    @Schema(description = "创建时间", example = "2023-06-01T10:30:00")
    private LocalDateTime createTime;

    @TableField("update_by")
    @Schema(description = "更新者", example = "admin")
    private String updateBy;

    @TableField("update_time")
    @Schema(description = "更新时间", example = "2023-06-02T15:45:00")
    private LocalDateTime updateTime;

    @TableField("remark")
    @Schema(description = "备注信息", example = "该项目为重点民生工程")
    private String remark;

    @TableField("create_by")
    @Schema(description = "创建者", example = "system")
    private String createBy;

    @TableField("audit_type")
    @Schema(description = "审核分类:1标准流程;2简易流程", example = "system")
    private Integer auditType;
}
    